package mx.ipn.persistencia.dao;

import java.util.ArrayList;

import mx.ipn.to.BitacoraUnidadTO;

public interface BitacoraUnidadDAO {

	public boolean insertBitacoraUnidad(BitacoraUnidadTO bitacoraUnidadTO);

	public short updateBitacoraUnidad(BitacoraUnidadTO bitacoraUnidadTO);

	public short activaDesactivaBitacoraUnidad(int idOperacion, boolean activa);

	public BitacoraUnidadTO findBitacoraUnidadById(int idOperacion);

	public ArrayList<BitacoraUnidadTO> selectBitacoraUnidad();
	
	public ArrayList<BitacoraUnidadTO> selectBitacoraUnidadActivo();

	public ArrayList<BitacoraUnidadTO> selectByRangoFechaHora(
			java.sql.Date inicioFecha, java.sql.Date finFecha,
			java.sql.Time inicioHora, java.sql.Time finHora);

	public BitacoraUnidadTO selectByRangoFechaUnidadActiva(
			java.sql.Date inicio, java.sql.Date fin, int idUnidad,
			boolean activa);

	public BitacoraUnidadTO selectByRangoFechaBaseActiva(java.sql.Date inicio,
			java.sql.Date fin, int idBase, boolean activa);

	public BitacoraUnidadTO selectByRangoFechaUsuarioActiva(
			java.sql.Date inicio, java.sql.Date fin, int idUsuario,
			boolean activa);

	public BitacoraUnidadTO selectByRangoFechaMotivoActivo(java.sql.Date inicio,
			java.sql.Date fin, int idMotivo,boolean activo);

	public BitacoraUnidadTO selectByRangoFechaMotivoUnidadActivo(int idMotivo,
			int idUnidad, java.sql.Date inicioFecha, java.sql.Date finFecha,
			boolean activa);

	public BitacoraUnidadTO selectByRangoFechaMotivoBaseActivo(int idMotivo,
			int idBase, java.sql.Date inicioFecha, java.sql.Date finFecha,
			boolean activa);

	public BitacoraUnidadTO selectByRangoFechaMotivoBaseUnidadActivo(
			int idMotivo, int idBase, int idUnidad, java.sql.Date inicioFecha,
			java.sql.Date finFecha, boolean activa);

}
